package org.lestr.secuel.sogl.objets3D;

import org.lestr.secuel.m3ds.IUsine;
import org.lestr.secuel.m3ds.maths.ICoordonnees3d;
import org.lestr.secuel.m3ds.maths.ICoordonnees3d.IEcouteur;
import org.lestr.secuel.m3ds.maths.IPoint3d;
import org.lestr.secuel.sogl.maths.Point3d;

public class Coordonnees3d<P, S extends ICoordonnees3d> extends Point3d<ICoordonnees3d.IEcouteur<S>, S> implements ICoordonnees3d<P, S> {


    private P parent;


    public Coordonnees3d(IUsine usine,
                       P parent) {

        super(usine);
        
        this.parent = parent;

    }// FIN Constructeur


    public Coordonnees3d(IUsine usine,
                       P parent,
                       IPoint3d point3d) {

        super(usine, point3d);

        this.parent = parent;

    }// FIN Constructeur


    public Coordonnees3d(IUsine usine,
                       P parent,
                       double x,
                       double y,
                       double z) {

        super(usine, x, y, z);

        this.parent = parent;

    }// FIN Constructeur


    @Override
    public P obtenirParent() {

        return parent;

    }// FIN Méthode obtenirParent


}// FIN Classe Point3d
